#ifndef __EKF_CONTEXT_H__
#define __EKF_CONTEXT_H__

#include <global/header/types.h>
#include <global/header/trap.h>

struct ekf_context_s
{
	 uint32_t   stk_ptr;
	 uint32_t   stk_top;

	 uintptr_t  pc;
	 
	 int        lcpu;
	 physaddr_t vpt;
};

void ekf_context_switch(struct ekf_context_s *from, struct ekf_context_s *to);
void ekf_context_fill(struct ekf_context_s *ctx,
					  void (*entry)(void *arg), void *arg,
					  physaddr_t vpt, uintptr_t stk_top);

#endif
